Make dropping of expandable items look nicer.
authorSoeren Sandmann <sandmann@redhat.com>
Wed, 8 Sep 2004 16:40:31 +0000 (16:40 +0000)
committerSøren Sandmann Pedersen <ssp@src.gnome.org>
Wed, 8 Sep 2004 16:40:31 +0000 (16:40 +0000)
Wed Sep  8 18:38:08 2004  Soeren Sandmann  <sandmann@redhat.com>

Make dropping of expandable items look nicer.

* gtk/gtktoolbar.c (gtk_toolbar_set_drop_highlight_item): Make
placeholder expand if highlight item is expanding.

* gtk/gtktoolbar.c (toolbar_content_set_expand): New function.

* gtk/gtktoolbar.c (toolbar_content_get_expand): Return TRUE only
if the item is not disappering.

ChangeLog
ChangeLog.pre-2-10
ChangeLog.pre-2-6
ChangeLog.pre-2-8
gtk/gtktoolbar.c

index b6f82a3a2ac9179ed6c760e317f415d75adbbc7d..0ddc343b4d2222ea48e1a6aae53567097e5737fc 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+Wed Sep  8 18:38:08 2004  Soeren Sandmann  <sandmann@redhat.com>
+
+       Make dropping of expandable items look nicer.
+       
+       * gtk/gtktoolbar.c (gtk_toolbar_set_drop_highlight_item): Make
+       placeholder expand if highlight item is expanding.
+
+       * gtk/gtktoolbar.c (toolbar_content_set_expand): New function.
+
+       * gtk/gtktoolbar.c (toolbar_content_get_expand): Return TRUE only
+       if the item is not disappering.
+
 2004-09-07  Matthias Clasen  <mclasen@redhat.com>
 
        * gtk/gtkuimanager.c (gtk_ui_manager_add_ui): Use the proper node type
index b6f82a3a2ac9179ed6c760e317f415d75adbbc7d..0ddc343b4d2222ea48e1a6aae53567097e5737fc 100644 (file)
@@ -1,3 +1,15 @@
+Wed Sep  8 18:38:08 2004  Soeren Sandmann  <sandmann@redhat.com>
+
+       Make dropping of expandable items look nicer.
+       
+       * gtk/gtktoolbar.c (gtk_toolbar_set_drop_highlight_item): Make
+       placeholder expand if highlight item is expanding.
+
+       * gtk/gtktoolbar.c (toolbar_content_set_expand): New function.
+
+       * gtk/gtktoolbar.c (toolbar_content_get_expand): Return TRUE only
+       if the item is not disappering.
+
 2004-09-07  Matthias Clasen  <mclasen@redhat.com>
 
        * gtk/gtkuimanager.c (gtk_ui_manager_add_ui): Use the proper node type
index b6f82a3a2ac9179ed6c760e317f415d75adbbc7d..0ddc343b4d2222ea48e1a6aae53567097e5737fc 100644 (file)
@@ -1,3 +1,15 @@
+Wed Sep  8 18:38:08 2004  Soeren Sandmann  <sandmann@redhat.com>
+
+       Make dropping of expandable items look nicer.
+       
+       * gtk/gtktoolbar.c (gtk_toolbar_set_drop_highlight_item): Make
+       placeholder expand if highlight item is expanding.
+
+       * gtk/gtktoolbar.c (toolbar_content_set_expand): New function.
+
+       * gtk/gtktoolbar.c (toolbar_content_get_expand): Return TRUE only
+       if the item is not disappering.
+
 2004-09-07  Matthias Clasen  <mclasen@redhat.com>
 
        * gtk/gtkuimanager.c (gtk_ui_manager_add_ui): Use the proper node type
index b6f82a3a2ac9179ed6c760e317f415d75adbbc7d..0ddc343b4d2222ea48e1a6aae53567097e5737fc 100644 (file)
@@ -1,3 +1,15 @@
+Wed Sep  8 18:38:08 2004  Soeren Sandmann  <sandmann@redhat.com>
+
+       Make dropping of expandable items look nicer.
+       
+       * gtk/gtktoolbar.c (gtk_toolbar_set_drop_highlight_item): Make
+       placeholder expand if highlight item is expanding.
+
+       * gtk/gtktoolbar.c (toolbar_content_set_expand): New function.
+
+       * gtk/gtktoolbar.c (toolbar_content_get_expand): Return TRUE only
+       if the item is not disappering.
+
 2004-09-07  Matthias Clasen  <mclasen@redhat.com>
 
        * gtk/gtkuimanager.c (gtk_ui_manager_add_ui): Use the proper node type
index 9896604985db10f8610e51a0f003d8ff6a1eaf20..a53a24ffb1862e0c6da8442199034071c7ce3aa1 100644 (file)
@@ -291,7 +291,8 @@ static gboolean        toolbar_content_has_proxy_menu_item  (ToolbarContent  *co
 static gboolean        toolbar_content_is_separator         (ToolbarContent      *content);
 static void            toolbar_content_show_all             (ToolbarContent      *content);
 static void            toolbar_content_hide_all             (ToolbarContent      *content);
-
+static void           toolbar_content_set_expand           (ToolbarContent      *content,
+                                                            gboolean             expand);
 
 #define GTK_TOOLBAR_GET_PRIVATE(o)  \
   (G_TYPE_INSTANCE_GET_PRIVATE ((o), GTK_TYPE_TOOLBAR, GtkToolbarPrivate))
@@ -2248,6 +2249,7 @@ gtk_toolbar_set_drop_highlight_item (GtkToolbar  *toolbar,
   gtk_widget_size_request (GTK_WIDGET (priv->highlight_tool_item),
                           &requisition);
 
+  toolbar_content_set_expand (content, gtk_tool_item_get_expand (tool_item));
   
   restart_sliding = FALSE;
   toolbar_content_size_request (content, toolbar, &old_requisition);
@@ -4187,7 +4189,8 @@ static gboolean
 toolbar_content_get_expand (ToolbarContent *content)
 {
   if (content->type == TOOL_ITEM &&
-      gtk_tool_item_get_expand (content->u.tool_item.item))
+      gtk_tool_item_get_expand (content->u.tool_item.item) &&
+      !content->u.tool_item.disappearing)
     {
       return TRUE;
     }
@@ -4494,6 +4497,14 @@ toolbar_content_is_separator (ToolbarContent *content)
   return FALSE;
 }
 
+static void
+toolbar_content_set_expand (ToolbarContent *content,
+                           gboolean        expand)
+{
+  if (content->type == TOOL_ITEM)
+    gtk_tool_item_set_expand (content->u.tool_item.item, expand);
+}
+
 static gboolean
 ignore_show_and_hide_all (ToolbarContent *content)
 {